package moxl.parser.assemblers.xmldecl;

public enum XmlDeclarationAssemblerState
{
	XmlDeclarationStartState(new XmlDeclarationStartState()),
	XmlDeclarationExpectingEncodingCloseQuoteState(new XmlDeclarationExpectingEncodingCloseQuoteState()),
	XmlDeclarationExpectingEncodingEqualsState(new XmlDeclarationExpectingEncodingEqualsState()),
	XmlDeclarationExpectingEncodingIdentifierOrCloseState(new XmlDeclarationExpectingEncodingIdentifierOrCloseState()),
	XmlDeclarationExpectingEncodingOpenQuoteState(new XmlDeclarationExpectingEncodingOpenQuoteState()),
	XmlDeclarationExpectingEncodingValueState(new XmlDeclarationExpectingEncodingValueState()),
	XmlDeclarationExpectingSpaceBeforeEncodingOrCloseState(new XmlDeclarationExpectingSpaceBeforeEncodingOrCloseState()),
	XmlDeclarationExpectingSpaceBeforeStandaloneOrCloseState(new XmlDeclarationExpectingSpaceBeforeStandaloneOrCloseState()),
	XmlDeclarationExpectingSpaceBeforeVersionState(new XmlDeclarationExpectingSpaceBeforeVersionState()),
	XmlDeclarationExpectingSpaceOrCloseState(new XmlDeclarationExpectingSpaceOrCloseState()),
	XmlDeclarationExpectingStandaloneCloseQuoteState(new XmlDeclarationExpectingStandaloneCloseQuoteState()),
	XmlDeclarationExpectingStandaloneEqualsState(new XmlDeclarationExpectingStandaloneEqualsState()),
	XmlDeclarationExpectingStandaloneIdentifierOrCloseState(new XmlDeclarationExpectingStandaloneIdentifierOrCloseState()),
	XmlDeclarationExpectingStandaloneOpenQuoteState(new XmlDeclarationExpectingStandaloneOpenQuoteState()),
	XmlDeclarationExpectingStandaloneValueState(new XmlDeclarationExpectingStandaloneValueState()),
	XmlDeclarationExpectingVersionCloseQuoteState(new XmlDeclarationExpectingVersionCloseQuoteState()),
	XmlDeclarationExpectingVersionEqualsState(new XmlDeclarationExpectingVersionEqualsState()),
	XmlDeclarationExpectingVersionIdentifierState(new XmlDeclarationExpectingVersionIdentifierState()),
	XmlDeclarationExpectingVersionOpenQuoteState(new XmlDeclarationExpectingVersionOpenQuoteState()),
	XmlDeclarationExpectingVersionValueState(new XmlDeclarationExpectingVersionValueState()),
	XmlDeclarationExpectingXmlTagState(new XmlDeclarationExpectingXmlTagState()),
	XmlDeclarationEndState(null);

	public static final XmlDeclarationAssemblerState START = XmlDeclarationStartState;
	public static final XmlDeclarationAssemblerState END = XmlDeclarationEndState;

	private final XmlDeclarationStateDelegateBase delegate;

	XmlDeclarationAssemblerState(XmlDeclarationStateDelegateBase delegate)
	{
		this.delegate = delegate;
		if (delegate != null)
		{
			delegate.associateState(this);
		}
	}

	public XmlDeclarationStateDelegateBase getDelegate()
	{
		return delegate;
	}

}
